package com.lineage.william;

import com.lineage.DatabaseFactory;
import com.lineage.Server;
import com.lineage.server.datatables.sql.CharItemsTable;
import com.lineage.server.model.Instance.L1ItemInstance;
import com.lineage.server.model.Instance.L1PcInstance;
import com.lineage.server.serverpackets.S_ItemStatus;
import com.lineage.server.serverpackets.S_ServerMessage;
import com.lineage.server.serverpackets.ServerBasePacket;
import com.lineage.server.utils.SQLUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Random;

public class drop_type_weapon {
  private static ArrayList<ArrayList<Object>> aData = new ArrayList<>();
  
  private static boolean BUILD_DATA = false;
  
  private static Random _random = new Random();
  
  public static final String TOKEN = ",";
  
  public static void main(String[] a) {
    try {
      while (true)
        Server.main(null); 
    } catch (Exception exception) {
      return;
    } 
  }
  
  public static void forIntensifyArmor(L1PcInstance pc, L1ItemInstance item) {
    ArrayList<Object> aTempData = null;
    if (!BUILD_DATA) {
      BUILD_DATA = true;
      getData();
    } 
    int i = 0;
    while (i < aData.size()) {
      aTempData = aData.get(i);
      if (pc.getMapId() == ((Integer)aTempData.get(0)).intValue() && (
        (Integer)aTempData.get(1)).intValue() == 1 && 
        _random.nextInt(100) + 1 <= ((Integer)aTempData.get(2)).intValue()) {
        switch (_random.nextInt(15) + 1) {
          case 1:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemStr(item.getItemStr() + 
                  _random.nextInt(((Integer)aTempData.get(3)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:力量+" + item.getItemStr()));
              break;
            } 
            item.setItemStr(item.getItemStr() + ((Integer)aTempData.get(3)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:力量+" + ((Integer)aTempData.get(3)).intValue()));
            break;
          case 2:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemDex(item.getItemDex() + 
                  _random.nextInt(((Integer)aTempData.get(4)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:敏捷+" + item.getItemDex()));
              break;
            } 
            item.setItemDex(item.getItemDex() + ((Integer)aTempData.get(4)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:敏捷+" + ((Integer)aTempData.get(4)).intValue()));
            break;
          case 3:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemInt(item.getItemInt() + 
                  _random.nextInt(((Integer)aTempData.get(5)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:智力+" + item.getItemInt()));
              break;
            } 
            item.setItemInt(item.getItemInt() + ((Integer)aTempData.get(5)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:智力+" + ((Integer)aTempData.get(5)).intValue()));
            break;
          case 4:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemCon(item.getItemCon() + 
                  _random.nextInt(((Integer)aTempData.get(6)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:体质+" + item.getItemCon()));
              break;
            } 
            item.setItemCon(item.getItemCon() + ((Integer)aTempData.get(6)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:体质+" + ((Integer)aTempData.get(6)).intValue()));
            break;
          case 5:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemWis(item.getItemWis() + 
                  _random.nextInt(((Integer)aTempData.get(7)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:精神+" + item.getItemWis()));
              break;
            } 
            item.setItemWis(item.getItemWis() + ((Integer)aTempData.get(7)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:精神+" + ((Integer)aTempData.get(7)).intValue()));
            break;
          case 6:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemCha(item.getItemCha() + 
                  _random.nextInt(((Integer)aTempData.get(8)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:魅力+" + item.getItemCha()));
              break;
            } 
            item.setItemCha(item.getItemCha() + ((Integer)aTempData.get(8)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:魅力+" + ((Integer)aTempData.get(8)).intValue()));
            break;
          case 7:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemSp(item.getItemSp() + 
                  _random.nextInt(((Integer)aTempData.get(9)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:魔攻+" + item.getItemSp()));
              break;
            } 
            item.setItemSp(item.getItemSp() + ((Integer)aTempData.get(9)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:魔攻+" + ((Integer)aTempData.get(9)).intValue()));
            break;
          case 8:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemHp(item.getItemHp() + 
                  _random.nextInt(((Integer)aTempData.get(10)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:血量+" + item.getItemHp()));
              break;
            } 
            item.setItemHp(item.getItemHp() + ((Integer)aTempData.get(10)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:血量+" + ((Integer)aTempData.get(10)).intValue()));
            break;
          case 9:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemMp(item.getItemMp() + 
                  _random.nextInt(((Integer)aTempData.get(11)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:魔力+" + item.getItemMp()));
              break;
            } 
            item.setItemMp(item.getItemMp() + ((Integer)aTempData.get(11)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:魔力+" + ((Integer)aTempData.get(11)).intValue()));
            break;
          case 10:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemAttack(item.getItemAttack() + 
                  _random.nextInt(((Integer)aTempData.get(12)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:近攻+" + item.getItemAttack()));
              break;
            } 
            item.setItemAttack(item.getItemAttack() + ((Integer)aTempData.get(12)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:近攻+" + ((Integer)aTempData.get(12)).intValue()));
            break;
          case 11:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemBowAttack(item.getItemBowAttack() + 
                  _random.nextInt(((Integer)aTempData.get(13)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:远攻+" + item.getItemBowAttack()));
              break;
            } 
            item.setItemBowAttack(item.getItemBowAttack() + ((Integer)aTempData.get(13)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备单属性:远攻+" + ((Integer)aTempData.get(13)).intValue()));
            break;
          case 12:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemprobability(item.getItemprobability() + 
                  _random.nextInt(((Integer)aTempData.get(14)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备单属性:武器发动率+" + item.getItemprobability() + "%"));
              break;
            } 
            item.setItemprobability(
                item.getItemprobability() + ((Integer)aTempData.get(14)).intValue());
            pc.sendPackets((ServerBasePacket)new S_ServerMessage(
                  "获得装备单属性:武器发动率+" + ((Integer)aTempData.get(14)).intValue() + "%"));
            break;
          case 13:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemHit(item.getItemHit() + 
                  _random.nextInt(((Integer)aTempData.get(15)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:近命中+" + item.getItemHit()));
              break;
            } 
            item.setItemHit(item.getItemHit() + ((Integer)aTempData.get(15)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:近命中+" + ((Integer)aTempData.get(15)).intValue()));
            break;
          case 14:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemBowHit(item.getItemBowHit() + 
                  _random.nextInt(((Integer)aTempData.get(16)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:远命中+" + item.getItemBowHit()));
              break;
            } 
            item.setItemBowHit(item.getItemBowHit() + ((Integer)aTempData.get(16)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:远命中+" + ((Integer)aTempData.get(16)).intValue()));
            break;
          case 15:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemMag_Hit(item.getItemMag_Hit() + 
                  _random.nextInt(((Integer)aTempData.get(17)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:魔法命中+" + item.getItemMag_Hit()));
              break;
            } 
            item.setItemMag_Hit(item.getItemMag_Hit() + ((Integer)aTempData.get(17)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:魔法命中+" + ((Integer)aTempData.get(17)).intValue()));
            break;
        } 
        item.setItemArmorType(1);
        pc.sendPackets((ServerBasePacket)new S_ItemStatus(item));
        CharItemsTable cit = new CharItemsTable();
        try {
          cit.updateItemStr(item);
          cit.updateItemDex(item);
          cit.updateItemInt(item);
          cit.updateItemCon(item);
          cit.updateItemWis(item);
          cit.updateItemCha(item);
          cit.updateItemHp(item);
          cit.updateItemMp(item);
          cit.updateItemSp(item);
          cit.updateItemAttack(item);
          cit.updateItemBowAttack(item);
          cit.updateItemHit(item);
          cit.updateItemBowHit(item);
          cit.updateItemprobability(item);
          cit.updateItemReductionDmg(item);
          cit.updateItemMag_Hit(item);
          cit.updateItemArmorType(item);
          pc.save();
        } catch (Exception e) {
          e.printStackTrace();
        } 
        return;
      } 
      if (pc.getMapId() == ((Integer)aTempData.get(0)).intValue() && (
        (Integer)aTempData.get(1)).intValue() == 2 && 
        _random.nextInt(100) + 1 <= ((Integer)aTempData.get(2)).intValue()) {
        switch (_random.nextInt(15) + 1) {
          case 1:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemStr(item.getItemStr() + 
                  _random.nextInt(((Integer)aTempData.get(3)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:力量+" + item.getItemStr()));
              break;
            } 
            item.setItemStr(item.getItemStr() + ((Integer)aTempData.get(3)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:力量+" + ((Integer)aTempData.get(3)).intValue()));
            break;
          case 2:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemDex(item.getItemDex() + 
                  _random.nextInt(((Integer)aTempData.get(4)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:敏捷+" + item.getItemDex()));
              break;
            } 
            item.setItemDex(item.getItemDex() + ((Integer)aTempData.get(4)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:敏捷+" + ((Integer)aTempData.get(4)).intValue()));
            break;
          case 3:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemInt(item.getItemInt() + 
                  _random.nextInt(((Integer)aTempData.get(5)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:智力+" + item.getItemInt()));
              break;
            } 
            item.setItemInt(item.getItemInt() + ((Integer)aTempData.get(5)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:智力+" + ((Integer)aTempData.get(5)).intValue()));
            break;
          case 4:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemCon(item.getItemCon() + 
                  _random.nextInt(((Integer)aTempData.get(6)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:体质+" + item.getItemCon()));
              break;
            } 
            item.setItemCon(item.getItemCon() + ((Integer)aTempData.get(6)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:体质+" + ((Integer)aTempData.get(6)).intValue()));
            break;
          case 5:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemWis(item.getItemWis() + 
                  _random.nextInt(((Integer)aTempData.get(7)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:精神+" + item.getItemWis()));
              break;
            } 
            item.setItemWis(item.getItemWis() + ((Integer)aTempData.get(7)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:精神+" + ((Integer)aTempData.get(7)).intValue()));
            break;
          case 6:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemCha(item.getItemCha() + 
                  _random.nextInt(((Integer)aTempData.get(8)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:魅力+" + item.getItemCha()));
              break;
            } 
            item.setItemCha(item.getItemCha() + ((Integer)aTempData.get(8)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:魅力+" + ((Integer)aTempData.get(8)).intValue()));
            break;
          case 7:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemSp(item.getItemSp() + 
                  _random.nextInt(((Integer)aTempData.get(9)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:魔攻+" + item.getItemSp()));
              break;
            } 
            item.setItemSp(item.getItemSp() + ((Integer)aTempData.get(9)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:魔攻+" + ((Integer)aTempData.get(9)).intValue()));
            break;
          case 8:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemHp(item.getItemHp() + 
                  _random.nextInt(((Integer)aTempData.get(10)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:血量+" + item.getItemHp()));
              break;
            } 
            item.setItemHp(item.getItemHp() + ((Integer)aTempData.get(10)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:血量+" + ((Integer)aTempData.get(10)).intValue()));
            break;
          case 9:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemMp(item.getItemMp() + 
                  _random.nextInt(((Integer)aTempData.get(11)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:魔力+" + item.getItemMp()));
              break;
            } 
            item.setItemMp(item.getItemMp() + ((Integer)aTempData.get(11)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:魔力+" + ((Integer)aTempData.get(11)).intValue()));
            break;
          case 10:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemAttack(item.getItemAttack() + 
                  _random.nextInt(((Integer)aTempData.get(12)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:近攻+" + item.getItemAttack()));
              break;
            } 
            item.setItemAttack(item.getItemAttack() + ((Integer)aTempData.get(12)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:近攻+" + ((Integer)aTempData.get(12)).intValue()));
            break;
          case 11:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemBowAttack(item.getItemBowAttack() + 
                  _random.nextInt(((Integer)aTempData.get(13)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:远攻+" + item.getItemBowAttack()));
              break;
            } 
            item.setItemBowAttack(item.getItemBowAttack() + ((Integer)aTempData.get(13)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:远攻+" + ((Integer)aTempData.get(13)).intValue()));
            break;
          case 12:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemprobability(item.getItemprobability() + 
                  _random.nextInt(((Integer)aTempData.get(14)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:武器发动率+" + item.getItemprobability() + "%"));
              break;
            } 
            item.setItemprobability(
                item.getItemprobability() + ((Integer)aTempData.get(14)).intValue());
            pc.sendPackets((ServerBasePacket)new S_ServerMessage(
                  "获得装备双属性:武器发动率+" + ((Integer)aTempData.get(14)).intValue() + "%"));
            break;
          case 13:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemHit(item.getItemHit() + 
                  _random.nextInt(((Integer)aTempData.get(15)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:近命中+" + item.getItemHit()));
              break;
            } 
            item.setItemHit(item.getItemHit() + ((Integer)aTempData.get(15)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:近命中+" + ((Integer)aTempData.get(15)).intValue()));
            break;
          case 14:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemBowHit(item.getItemBowHit() + 
                  _random.nextInt(((Integer)aTempData.get(16)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:远命中+" + item.getItemBowHit()));
              break;
            } 
            item.setItemBowHit(item.getItemBowHit() + ((Integer)aTempData.get(16)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:远命中+" + ((Integer)aTempData.get(16)).intValue()));
            break;
          case 15:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemMag_Hit(item.getItemMag_Hit() + 
                  _random.nextInt(((Integer)aTempData.get(17)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:魔法命中+" + item.getItemMag_Hit()));
              break;
            } 
            item.setItemMag_Hit(item.getItemMag_Hit() + ((Integer)aTempData.get(17)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:魔法命中+" + ((Integer)aTempData.get(17)).intValue()));
            break;
        } 
        switch (_random.nextInt(15) + 1) {
          case 1:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemStr(item.getItemStr() + 
                  _random.nextInt(((Integer)aTempData.get(3)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:力量+" + item.getItemStr()));
              break;
            } 
            item.setItemStr(item.getItemStr() + ((Integer)aTempData.get(3)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:力量+" + ((Integer)aTempData.get(3)).intValue()));
            break;
          case 2:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemDex(item.getItemDex() + 
                  _random.nextInt(((Integer)aTempData.get(4)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:敏捷+" + item.getItemDex()));
              break;
            } 
            item.setItemDex(item.getItemDex() + ((Integer)aTempData.get(4)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:敏捷+" + ((Integer)aTempData.get(4)).intValue()));
            break;
          case 3:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemInt(item.getItemInt() + 
                  _random.nextInt(((Integer)aTempData.get(5)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:智力+" + item.getItemInt()));
              break;
            } 
            item.setItemInt(item.getItemInt() + ((Integer)aTempData.get(5)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:智力+" + ((Integer)aTempData.get(5)).intValue()));
            break;
          case 4:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemCon(item.getItemCon() + 
                  _random.nextInt(((Integer)aTempData.get(6)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:体质+" + item.getItemCon()));
              break;
            } 
            item.setItemCon(item.getItemCon() + ((Integer)aTempData.get(6)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:体质+" + ((Integer)aTempData.get(6)).intValue()));
            break;
          case 5:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemWis(item.getItemWis() + 
                  _random.nextInt(((Integer)aTempData.get(7)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:精神+" + item.getItemWis()));
              break;
            } 
            item.setItemWis(item.getItemWis() + ((Integer)aTempData.get(7)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:精神+" + ((Integer)aTempData.get(7)).intValue()));
            break;
          case 6:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemCha(item.getItemCha() + 
                  _random.nextInt(((Integer)aTempData.get(8)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:魅力+" + item.getItemCha()));
              break;
            } 
            item.setItemCha(item.getItemCha() + ((Integer)aTempData.get(8)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:魅力+" + ((Integer)aTempData.get(8)).intValue()));
            break;
          case 7:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemSp(item.getItemSp() + 
                  _random.nextInt(((Integer)aTempData.get(9)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:魔攻+" + item.getItemSp()));
              break;
            } 
            item.setItemSp(item.getItemSp() + ((Integer)aTempData.get(9)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:魔攻+" + ((Integer)aTempData.get(9)).intValue()));
            break;
          case 8:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemHp(item.getItemHp() + 
                  _random.nextInt(((Integer)aTempData.get(10)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:血量+" + item.getItemHp()));
              break;
            } 
            item.setItemHp(item.getItemHp() + ((Integer)aTempData.get(10)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:血量+" + ((Integer)aTempData.get(10)).intValue()));
            break;
          case 9:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemMp(item.getItemMp() + 
                  _random.nextInt(((Integer)aTempData.get(11)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:魔力+" + item.getItemMp()));
              break;
            } 
            item.setItemMp(item.getItemMp() + ((Integer)aTempData.get(11)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:魔力+" + ((Integer)aTempData.get(11)).intValue()));
            break;
          case 10:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemAttack(item.getItemAttack() + 
                  _random.nextInt(((Integer)aTempData.get(12)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:近攻+" + item.getItemAttack()));
              break;
            } 
            item.setItemAttack(item.getItemAttack() + ((Integer)aTempData.get(12)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:近攻+" + ((Integer)aTempData.get(12)).intValue()));
            break;
          case 11:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemBowAttack(item.getItemBowAttack() + 
                  _random.nextInt(((Integer)aTempData.get(13)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:远攻+" + item.getItemBowAttack()));
              break;
            } 
            item.setItemBowAttack(item.getItemBowAttack() + ((Integer)aTempData.get(13)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:远攻+" + ((Integer)aTempData.get(13)).intValue()));
            break;
          case 12:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemprobability(item.getItemprobability() + 
                  _random.nextInt(((Integer)aTempData.get(14)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:武器发动率+" + item.getItemprobability() + "%"));
              break;
            } 
            item.setItemprobability(
                item.getItemprobability() + ((Integer)aTempData.get(14)).intValue());
            pc.sendPackets((ServerBasePacket)new S_ServerMessage(
                  "获得装备双属性:武器发动率+" + ((Integer)aTempData.get(14)).intValue() + "%"));
            break;
          case 13:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemHit(item.getItemHit() + 
                  _random.nextInt(((Integer)aTempData.get(15)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:近命中+" + item.getItemHit()));
              break;
            } 
            item.setItemHit(item.getItemHit() + ((Integer)aTempData.get(15)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:近命中+" + ((Integer)aTempData.get(15)).intValue()));
            break;
          case 14:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemBowHit(item.getItemBowHit() + 
                  _random.nextInt(((Integer)aTempData.get(16)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:远命中+" + item.getItemBowHit()));
              break;
            } 
            item.setItemBowHit(item.getItemBowHit() + ((Integer)aTempData.get(16)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:远命中+" + ((Integer)aTempData.get(16)).intValue()));
            break;
          case 15:
            if (((Integer)aTempData.get(18)).intValue() == 1) {
              item.setItemMag_Hit(item.getItemMag_Hit() + 
                  _random.nextInt(((Integer)aTempData.get(17)).intValue()) + 
                  1);
              pc.sendPackets((ServerBasePacket)new S_ServerMessage("获得装备双属性:魔法命中+" + item.getItemMag_Hit()));
              break;
            } 
            item.setItemMag_Hit(item.getItemMag_Hit() + ((Integer)aTempData.get(17)).intValue());
            pc.sendPackets(
                (ServerBasePacket)new S_ServerMessage("获得装备双属性:魔法命中+" + ((Integer)aTempData.get(17)).intValue()));
            break;
        } 
        item.setItemArmorType(2);
        pc.sendPackets((ServerBasePacket)new S_ItemStatus(item));
        CharItemsTable cit = new CharItemsTable();
        try {
          cit.updateItemStr(item);
          cit.updateItemDex(item);
          cit.updateItemInt(item);
          cit.updateItemCon(item);
          cit.updateItemWis(item);
          cit.updateItemCha(item);
          cit.updateItemHp(item);
          cit.updateItemMp(item);
          cit.updateItemSp(item);
          cit.updateItemAttack(item);
          cit.updateItemBowAttack(item);
          cit.updateItemprobability(item);
          cit.updateItemReductionDmg(item);
          cit.updateItemMr(item);
          cit.updateItemAc(item);
          cit.updateItemMag_Red(item);
          cit.updateItemDg(item);
          cit.updateItemistSustain(item);
          cit.updateItemistStun(item);
          cit.updateItemistStone(item);
          cit.updateItemistSleep(item);
          cit.updateItemistFreeze(item);
          cit.updateItemistBlind(item);
          cit.updateItemArmorType(item);
          pc.save();
        } catch (Exception e) {
          e.printStackTrace();
        } 
        return;
      } 
      if (pc.getMapId() == ((Integer)aTempData.get(0)).intValue() && (
        (Integer)aTempData.get(1)).intValue() == 3 && 
        _random.nextInt(100) + 1 <= ((Integer)aTempData.get(2)).intValue()) {
        switch (_random.nextInt(11) + 1) {
          case 1:
            item.setItemArmorType(16);
            break;
          case 2:
            item.setItemArmorType(17);
            break;
          case 3:
            item.setItemArmorType(18);
            break;
          case 4:
            item.setItemArmorType(19);
            break;
          case 5:
            item.setItemArmorType(20);
            break;
          case 6:
            item.setItemArmorType(21);
            break;
          case 7:
            item.setItemArmorType(22);
            break;
          case 8:
            item.setItemArmorType(23);
            break;
          case 9:
            item.setItemArmorType(24);
            break;
          case 10:
            item.setItemArmorType(25);
            break;
          case 11:
            item.setItemArmorType(26);
            break;
        } 
        pc.sendPackets((ServerBasePacket)new S_ItemStatus(item));
        CharItemsTable cit = new CharItemsTable();
        try {
          cit.updateItemArmorType(item);
          pc.save();
        } catch (Exception e) {
          e.printStackTrace();
        } 
        return;
      } 
      i++;
    } 
  }
  
  private static void getData() {
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
      conn = DatabaseFactory.get().getConnection();
      pstmt = conn.prepareStatement("SELECT * FROM william_droptype_weapon");
      rs = pstmt.executeQuery();
      ArrayList<Object> aReturn = null;
      if (rs != null)
        while (rs.next()) {
          aReturn = new ArrayList();
          aReturn.add(0, new Integer(rs.getInt("mapid")));
          aReturn.add(1, new Integer(rs.getInt("check_type")));
          aReturn.add(2, new Integer(rs.getInt("ran")));
          aReturn.add(3, new Integer(rs.getInt("str")));
          aReturn.add(4, new Integer(rs.getInt("dex")));
          aReturn.add(5, new Integer(rs.getInt("int")));
          aReturn.add(6, new Integer(rs.getInt("con")));
          aReturn.add(7, new Integer(rs.getInt("wis")));
          aReturn.add(8, new Integer(rs.getInt("cha")));
          aReturn.add(9, new Integer(rs.getInt("sp")));
          aReturn.add(10, new Integer(rs.getInt("hp")));
          aReturn.add(11, new Integer(rs.getInt("mp")));
          aReturn.add(12, new Integer(rs.getInt("attack")));
          aReturn.add(13, new Integer(rs.getInt("bowattack")));
          aReturn.add(14, new Integer(rs.getInt("probability")));
          aReturn.add(15, new Integer(rs.getInt("hit")));
          aReturn.add(16, new Integer(rs.getInt("bowhit")));
          aReturn.add(17, new Integer(rs.getInt("mag_hit")));
          aReturn.add(18, new Integer(rs.getInt("check_ran")));
          aData.add(aReturn);
        }  
    } catch (SQLException sQLException) {
    
    } finally {
      SQLUtil.close(rs);
      SQLUtil.close(pstmt);
      SQLUtil.close(conn);
    } 
  }
}
